# Generated by Django 3.2.16 on 2022-12-04 08:54

from django.conf import settings
import django.contrib.postgres.fields.jsonb
from django.db import migrations, models
import django.db.models.deletion
import siriuso.models.postgres
import siriuso.utils.modules
import uuid


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('main', '0001_squashed_0021_auto_20221025_0702'),
        ('informiloj', '0011_auto_20190609_0303'),
        ('komunumoj', '0001_squashed_0033_auto_20221013_0421'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='EsploradojKategorioTipo',
            fields=[
                ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='UUID')),
                ('krea_dato', models.DateTimeField(auto_now_add=True, verbose_name='Krea dato')),
                ('forigo', models.BooleanField(blank=True, default=False, verbose_name='Forigo')),
                ('foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Foriga dato')),
                ('a_foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Aŭtomata foriga dato')),
                ('publikigo', models.BooleanField(default=False, verbose_name='Publikigis')),
                ('publikiga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Dato de publikigo')),
                ('arkivo', models.BooleanField(default=False, verbose_name='Arkiva')),
                ('arkiva_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Arkiva dato')),
                ('kodo', models.CharField(max_length=16, verbose_name='Kodo')),
                ('speciala', models.BooleanField(default=False, verbose_name='Speciala')),
                ('nomo', models.JSONField(blank=True, default=siriuso.utils.modules.default_lingvo, encoder=siriuso.models.postgres.CallableEncoder, verbose_name='Nomo')),
                ('wablomo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='esploradoj_esploradojkategoriotipo_wablomo', to='main.siriusowablono', verbose_name='Ĝenerala ŝablono')),
            ],
            options={
                'verbose_name': 'Tipo de kategorioj',
                'verbose_name_plural': 'Tipoj de kategorioj',
                'db_table': 'esploradoj_kategorioj_tipoj',
                'permissions': (('povas_vidi_kategorian_tipon', 'Povas vidi kategorian tipon'), ('povas_krei_kategorian_tipon', 'Povas krei kategorian tipon'), ('povas_forigi_kategorian_tipon', 'Povas forigu kategorian tipon'), ('povas_shanghi_kategorian_tipon', 'Povas ŝanĝi kategorian tipon')),
            },
        ),
        migrations.CreateModel(
            name='EsploradojKategorio',
            fields=[
                ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='UUID')),
                ('krea_dato', models.DateTimeField(auto_now_add=True, verbose_name='Krea dato')),
                ('forigo', models.BooleanField(blank=True, default=False, verbose_name='Forigo')),
                ('foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Foriga dato')),
                ('a_foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Aŭtomata foriga dato')),
                ('publikigo', models.BooleanField(default=False, verbose_name='Publikigis')),
                ('publikiga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Dato de publikigo')),
                ('arkivo', models.BooleanField(default=False, verbose_name='Arkiva')),
                ('arkiva_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Arkiva dato')),
                ('lasta_dato', models.DateTimeField(blank=True, null=True, verbose_name='Dato de lasta modifo')),
                ('id', models.IntegerField(default=0, unique=True, verbose_name='ID')),
                ('nomo', models.JSONField(blank=True, default=siriuso.utils.modules.default_lingvo, encoder=siriuso.models.postgres.CallableEncoder, verbose_name='Titolo')),
                ('priskribo', models.JSONField(blank=True, default=siriuso.utils.modules.default_lingvo, encoder=siriuso.models.postgres.CallableEncoder, verbose_name='Priskribo')),
                ('administrantoj', models.ManyToManyField(related_name='esploradojkategorio_administrantoj', to=settings.AUTH_USER_MODEL, verbose_name='Kategoriaj administrantoj')),
                ('aliro', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='komunumoj.komunumojaliro', verbose_name='Aliro')),
                ('autoro', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, related_name='esploradoj_esploradojkategorio_autoro', to=settings.AUTH_USER_MODEL, verbose_name='Aŭtoro')),
                ('lasta_autoro', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='esploradoj_esploradojkategorio_lasta_autoro', to=settings.AUTH_USER_MODEL, verbose_name='Modifita de')),
                ('moderatoroj', models.ManyToManyField(related_name='esploradojkategorio_moderatoroj', to=settings.AUTH_USER_MODEL, verbose_name='Kategoriaj moderatoroj')),
                ('posedanto', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to='komunumoj.komunumo', verbose_name='Posedanto')),
                ('tipo', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='esploradoj.esploradojkategoriotipo', verbose_name='Tipo')),
                ('wablomo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='esploradoj_esploradojkategorio_wablomo', to='main.siriusowablono', verbose_name='Ĝenerala ŝablono')),
            ],
            options={
                'verbose_name': 'Kategorio',
                'verbose_name_plural': 'Kategorioj',
                'db_table': 'esploradoj_kategorioj',
                'permissions': (('povas_vidi_kategorion', 'Povas vidi kategorion'), ('povas_krei_kategorion', 'Povas krei kategorion'), ('povas_forigi_kategorion', 'Povas forigu kategorion'), ('povas_shanghi_kategorion', 'Povas ŝanĝi kategorion')),
            },
        ),
        migrations.CreateModel(
            name='EsploradojTemoTipo',
            fields=[
                ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='UUID')),
                ('krea_dato', models.DateTimeField(auto_now_add=True, verbose_name='Krea dato')),
                ('forigo', models.BooleanField(blank=True, default=False, verbose_name='Forigo')),
                ('foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Foriga dato')),
                ('a_foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Aŭtomata foriga dato')),
                ('publikigo', models.BooleanField(default=False, verbose_name='Publikigis')),
                ('publikiga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Dato de publikigo')),
                ('arkivo', models.BooleanField(default=False, verbose_name='Arkiva')),
                ('arkiva_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Arkiva dato')),
                ('kodo', models.CharField(max_length=16, verbose_name='Kodo')),
                ('speciala', models.BooleanField(default=False, verbose_name='Speciala')),
                ('nomo', models.JSONField(blank=True, default=siriuso.utils.modules.default_lingvo, encoder=siriuso.models.postgres.CallableEncoder, verbose_name='Nomo')),
                ('wablomo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='esploradoj_esploradojtemotipo_wablomo', to='main.siriusowablono', verbose_name='Ĝenerala ŝablono')),
            ],
            options={
                'verbose_name': 'Tipo de temoj',
                'verbose_name_plural': 'Tipoj de temoj',
                'db_table': 'esploradoj_temoj_tipoj',
                'permissions': (('povas_vidi_teman_tipon', 'Povas vidi teman tipon'), ('povas_krei_teman_tipon', 'Povas krei teman tipon'), ('povas_forigi_teman_tipon', 'Povas forigu teman tipon'), ('povas_shanghi_teman_tipon', 'Povas ŝanĝi teman tipon')),
            },
        ),
        migrations.CreateModel(
            name='EsploradojTemo',
            fields=[
                ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='UUID')),
                ('krea_dato', models.DateTimeField(auto_now_add=True, verbose_name='Krea dato')),
                ('forigo', models.BooleanField(blank=True, default=False, verbose_name='Forigo')),
                ('foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Foriga dato')),
                ('a_foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Aŭtomata foriga dato')),
                ('publikigo', models.BooleanField(default=False, verbose_name='Publikigis')),
                ('publikiga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Dato de publikigo')),
                ('arkivo', models.BooleanField(default=False, verbose_name='Arkiva')),
                ('arkiva_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Arkiva dato')),
                ('lasta_dato', models.DateTimeField(blank=True, null=True, verbose_name='Dato de lasta modifo')),
                ('id', models.IntegerField(default=0, unique=True, verbose_name='ID')),
                ('nomo', models.JSONField(blank=True, default=siriuso.utils.modules.default_lingvo, encoder=siriuso.models.postgres.CallableEncoder, verbose_name='Titolo')),
                ('priskribo', models.JSONField(blank=True, default=siriuso.utils.modules.default_lingvo, encoder=siriuso.models.postgres.CallableEncoder, verbose_name='Priskribo')),
                ('fermita', models.BooleanField(default=False, verbose_name='Fermita')),
                ('fiksa', models.BooleanField(default=False, verbose_name='Fiksa')),
                ('fiksa_listo', models.IntegerField(blank=True, null=True, verbose_name='Fiksa listo')),
                ('autoro', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, related_name='esploradoj_esploradojtemo_autoro', to=settings.AUTH_USER_MODEL, verbose_name='Aŭtoro')),
                ('kategorio', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='esploradoj.esploradojkategorio', verbose_name='Kategorio')),
                ('komentado_aliro', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='komunumoj.komunumojaliro', verbose_name='Komentada aliro')),
                ('lasta_autoro', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='esploradoj_esploradojtemo_lasta_autoro', to=settings.AUTH_USER_MODEL, verbose_name='Modifita de')),
                ('posedanto', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.CASCADE, to='komunumoj.komunumo', verbose_name='Posedanto')),
                ('tipo', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='esploradoj.esploradojtemotipo', verbose_name='Tipo')),
                ('wablomo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='esploradoj_esploradojtemo_wablomo', to='main.siriusowablono', verbose_name='Ĝenerala ŝablono')),
            ],
            options={
                'verbose_name': 'Temo',
                'verbose_name_plural': 'Temoj',
                'db_table': 'esploradoj_temoj',
                'permissions': (('povas_vidi_temon', 'Povas vidi temon'), ('povas_krei_temon', 'Povas krei temon'), ('povas_forigi_temon', 'Povas forigu temon'), ('povas_shanghi_temon', 'Povas ŝanĝi temon')),
            },
        ),
        migrations.CreateModel(
            name='EsploradojTemoKomento',
            fields=[
                ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='UUID')),
                ('krea_dato', models.DateTimeField(auto_now_add=True, verbose_name='Krea dato')),
                ('forigo', models.BooleanField(blank=True, default=False, verbose_name='Forigo')),
                ('foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Foriga dato')),
                ('a_foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Aŭtomata foriga dato')),
                ('publikigo', models.BooleanField(default=False, verbose_name='Publikigis')),
                ('publikiga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Dato de publikigo')),
                ('arkivo', models.BooleanField(default=False, verbose_name='Arkiva')),
                ('arkiva_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Arkiva dato')),
                ('lasta_dato', models.DateTimeField(blank=True, null=True, verbose_name='Dato de lasta modifo')),
                ('id', models.IntegerField(db_index=True, default=0, null=True, verbose_name='ID')),
                ('teksto', models.JSONField(blank=True, default=siriuso.utils.modules.default_lingvo, encoder=siriuso.models.postgres.CallableEncoder, verbose_name='Teksto')),
                ('autoro', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, related_name='esploradoj_esploradojtemokomento_autoro', to=settings.AUTH_USER_MODEL, verbose_name='Aŭtoro')),
                ('komento', models.ForeignKey(blank=True, default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to='esploradoj.esploradojtemokomento', verbose_name='Komento temo komento')),
                ('lasta_autoro', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='esploradoj_esploradojtemokomento_lasta_autoro', to=settings.AUTH_USER_MODEL, verbose_name='Modifita de')),
                ('posedanto', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='esploradoj.esploradojtemo', verbose_name='Posedanto')),
                ('respondo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='esploradoj_esploradojtemokomento_respondo', to='esploradoj.esploradojtemokomento', verbose_name='Respondo')),
                ('wablomo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='esploradoj_esploradojtemokomento_wablomo', to='main.siriusowablono', verbose_name='Ĝenerala ŝablono')),
            ],
            options={
                'verbose_name': 'Tema komento',
                'verbose_name_plural': 'Temaj komentoj',
                'db_table': 'esploradoj_temoj_komentoj',
                'permissions': (('povas_vidi_teman_komenton', 'Povas vidi teman komenton'), ('povas_krei_teman_komenton', 'Povas krei teman komenton'), ('povas_forigi_teman_komenton', 'Povas forigu teman komenton'), ('povas_shanghi_teman_komenton', 'Povas ŝanĝi teman komenton')),
            },
        ),
        migrations.CreateModel(
            name='EsploradojUzantoHistorio',
            fields=[
                ('posedanto', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, primary_key=True, serialize=False, to=settings.AUTH_USER_MODEL)),
                ('historio', models.JSONField(blank=True, db_index=True, default=dict, verbose_name='История посещений')),
            ],
            options={
                'db_table': 'esploradoj_uzantoj_historioj',
            },
        ),
        migrations.CreateModel(
            name='EsploradojSciigoj',
            fields=[
                ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='UUID')),
                ('krea_dato', models.DateTimeField(auto_now_add=True, verbose_name='Krea dato')),
                ('forigo', models.BooleanField(blank=True, default=False, verbose_name='Forigo')),
                ('foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Foriga dato')),
                ('a_foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Aŭtomata foriga dato')),
                ('publikigo', models.BooleanField(default=False, verbose_name='Publikigis')),
                ('publikiga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Dato de publikigo')),
                ('arkivo', models.BooleanField(default=False, verbose_name='Arkiva')),
                ('arkiva_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Arkiva dato')),
                ('lasta_dato', models.DateTimeField(blank=True, null=True, verbose_name='Dato de lasta modifo')),
                ('autoro', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, related_name='esploradoj_esploradojsciigoj_autoro', to=settings.AUTH_USER_MODEL, verbose_name='Aŭtoro')),
                ('lasta_autoro', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='esploradoj_esploradojsciigoj_lasta_autoro', to=settings.AUTH_USER_MODEL, verbose_name='Modifita de')),
                ('sciigoj', models.ManyToManyField(blank=True, to='informiloj.InformilojSciigoTipo', verbose_name='Sciigo (muro)')),
                ('temo', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='esploradoj.esploradojtemo')),
                ('wablomo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='esploradoj_esploradojsciigoj_wablomo', to='main.siriusowablono', verbose_name='Ĝenerala ŝablono')),
            ],
            options={
                'permissions': (('povas_vidi_sciigoj', 'Povas vidi sciigoj'), ('povas_krei_sciigoj', 'Povas krei sciigoj'), ('povas_forigi_sciigoj', 'Povas forigu sciigoj'), ('povas_shanghi_sciigoj', 'Povas ŝanĝi sciigoj')),
            },
        ),
    ]
